#include "snap_def.h"

#ifndef __P_KEY_H__
#define __P_KEY_H__

namespace __public_key {
	// namespace wide variables
	const unsigned pub_key; // public key is stored here.
	unsigned priv_key; // private key is to be stored elsewhere.

	bool priv_key_retr(); // function to retrieve private key

	// encryptor class
	class encryptor {
	public:
		encryptor();
		virtual ~encryptor();

		bool encrypt(const char * msg, char * result);

	private:
		unsigned char __buf_byte;
	};

	// decryptor class
	class decryptor {
	public:
		decryptor();
		virtual ~decryptor();

		bool decrypt(const char * msg, char * result);

	private:
		unsigned char __buf_byte;
	};
}

#endif // __P_KEY_H__